|
ユニファイドメモリアーキテクチャ (Unified Memory Architecture) は、メインメモリをCPUだけでなく、他のデバイスにも共有して使用するメモリアーキテクチャの一つである。 == 概要 == この方式は、古くはNECのPC-8001で実装された。メインメモリの一部をVRAMの一部として扱い、CRTC(CRTコントローラー)にDMA転送することで、画面を表示していた。DMAが動作中CPUはメモリバスの使用権を失い、画面表示中はCPU本来の能力を発することができなかった。そこで計算などの用途においてDMAを停止し、CPUがメインメモリをフルにアクセスできるようにすることが一般的だった。この手法は後に、PC-8800シリーズでも使用された。 現代のこの方式の応用もまた、VRAMをメインメモリにマッピングする場合に用いられていることが多い。このアーキテクチャがPCに適用された時は、CPU本来の性能を発揮できないことから嫌われた。そこでCPU動作速度の低下を避けるため、メモリバスの周波数をCPU本来のバス周波数より高く設定し、CPUからのメモリアクセスをさまたげないよう工夫されるようになった。CPUがメモリにアクセスする際にGPUは目的の演算を遅延することから、表示にジッターが現れることが多かった。後にこれはメモリアクセス方式を工夫したり、あるいは最終的に表示に使うメモリのみを、グラフィックボードに搭載することで解決した。しかし、さらに時代が下って再び採用され始める。PCに限らずワークステーションでも一般的であった。3Dアクセラレーターにおいて、VRAMだけでなくテクスチャメモリ、イメージキャプチャ結果を保持するメモリとしても使われた。 メモリがモジュールとして増設が簡単になり、単価も下がるにしたがい、32bitアドレスのメモリ空間である4GBなども普通に実装できるようになったが、ハードウェアの予約されているメモリ番地はメモリがリニアに使えない。そのうえ、UMA方式に割く場合はさらにビデオ回路用として実メモリを用いるので、32bitモードで動かす場合にはその部分がさらに削られる。 複数のCPUが共有するメインメモリにアクセスする対称型マルチプロセッサにおいて、そのメモリアクセスのことを「Uniform Memory Access」と呼ぶ。この言葉はNUMA(Non-Uniform Memory Access)ではないことを強調して指す言葉であり、。 従来PCのアーキテクチャ(オンボードグラフィックスなど)やXbox 360等でUMAと呼ばれているアーキテクチャは、あくまでもメモリの部品としての共用であり、メモリマップ(メモリ空間)までは統合されていない。これはUMAの中でもNUMAとして分類される〔。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「ユニファイドメモリアーキテクチャ」の詳細全文を読む スポンサード リンク
|